import request from '@/utils/request';
import { type CategoryResponseData, AttrResponseData, Attr } from './type';
enum API {
    C1_URL = '/admin/product/getCategory1',
    C2_URL = '/admin/product/getCategory2',
    C3_URL = '/admin/product/getCategory3',
    // 获取当前分类下的数据
    ATTR_URL = '/admin/product/attrInfoList',
    // 添加或修改已有属性
    ADDORUPDATEATTR_URL = '/admin/product/saveAttrInfo',
    // 删除已有属性
    DELETEATTR_URL = '/admin/product/deleteAttr',
}
// 获取一级分类接口数据的方法
export const reqC1 = () => request.get<any, CategoryResponseData>(API.C1_URL);
// 获取二级分类接口数据的方法
export const reqC2 = (category1Id: number | string) =>
    request.get<any, CategoryResponseData>(API.C2_URL + `/${category1Id}`);
// 获取三级分类接口数据的方法
export const reqC3 = (category2Id: number | string) =>
    request.get<any, CategoryResponseData>(API.C3_URL + `/${category2Id}`);
// 获取当前分类下的数据
export const reqAttr = (
    category1Id: number | string,
    category2Id: number | string,
    category3Id: number | string,
) =>
    request.get<any, AttrResponseData>(
        API.ATTR_URL + `/${category1Id}/${category2Id}/${category3Id}`,
    );
// 添加或修改已有属性
export const reqAddOrUpdateAttr = (data: Attr) =>
    request.post<any, any>(API.ADDORUPDATEATTR_URL, data);
// 删除已有属性
export const reqDeleteAttr = (id: number | string) =>
    request.delete<any, any>(API.DELETEATTR_URL + `/${id}`);
